home *** CD-ROM | disk | FTP | other *** search
/ Sounds Terrific 1 / Sounds Terrific CD (1994)(Weird Science)(Disc 2 of 2)[!][Amiga-PC].iso / modules / p / puny02.mod < prev    next >
Text File  |  1994-08-04  |  6KB  |  171 lines

  1. Variable pause string modification -
  2. Punisher #1 @2402
  3. Mon Dec 09 15:26:39 1991
  4. PUNY02.MOD - Creation of a dynamic pause string
  5.  
  6. By:    Punisher 1@2402 [Bunch 'o Bull]
  7. Date:  December 9th, 1991
  8. Time:  It takes about ten minutes to install and compile.
  9. WWIV:  WWIV 4.20
  10. Files: VARDEC.H, bbsutl1.c, bbs.c
  11.  
  12. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  13.  
  14. This is a very handy modifcation. It adds a lot to a BBS to customize the text
  15. display.  As set up by Wayne Bell, WWIV uses [PAUSE] to ask for a keypress.  To
  16. me, this seemed a little boring, so I changed it to something a little more
  17. interesting.  ([cows])  I decided it would be worth it to make a modification
  18. so that I could change the pause string whenever I wanted.
  19.  
  20. Basically what it does is this - it creates another field in the dynamic system
  21. record that is saved and updated every time a user logs off.  The pause string
  22. is changed by pressing '%' at the WFC or by using the '//PAUSEEDIT' command at
  23. the main menu.  Anybody with sysop access can change the pause string.
  24.  
  25. (That's how I have it set up on _my_ system.. you can, of course, change it to
  26. whatever your system might require.)
  27.  
  28. On my system I have a modification called "BACKSPAC.412" (by Goose) installed
  29. that affects the inli function.  The reason I mention this is because my system
  30. allows color in the inli function using Ctrl-P and I'm not sure whether the
  31. standard inli allows this.  THE POINT IS THIS:  If you install this modification
  32. only to discover that you can't use color when making your pause prompt, you
  33. can do one of two things to remedy the problem:  A) You can place some ansic
  34. statements in the void pausescr function I provide or B) you can get the mod
  35. by Goose and install it.  It's good.
  36.  
  37. One more quick thing - if you have users in 40 column mode you should be careful
  38. not to make your pause string over 40 actual characters in length.  If you make
  39. it more than 40 you'll have a lot of unhappy Commodore users..
  40.  
  41.  
  42. Here's the modification:
  43.  
  44. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  45.  
  46. STEP 1:
  47.  
  48. Back up your source.  Do it.  I lost my whole source once because I didn't back
  49. it up.  It was a pain.  Back up your source.
  50.  
  51.  
  52. STEP 2:
  53.  
  54. Load up VARDEC.H.  Here's a listing of my code;  a line beginning with '%'
  55. already exists.. a line beginning with '+' you should add into the code.
  56.  
  57.  
  58.  
  59. %  #define QSCN(i) (thisuser.qscnptr[i])
  60. %  #endif
  61. %
  62. +  #define MAXLEN_PAUSE 60   /* Add this line for PUNY02.MOD */
  63. %
  64. %  /****************************************************************************/
  65. %
  66. %
  67. %  /* DATA FOR EVERY USER */
  68.  
  69.  
  70. Now search for "net_req_free".  Here's a listing of my code with the same key:
  71.  
  72.  
  73. %          long            last_connect,           /* date last connect.net */
  74. %                          last_bbslist;           /* date last bbslist.net */
  75. %          float           net_req_free;           /* net free factor def 3 */
  76. %          char            res[31];                /* RESERVED */
  77. +          char          pausestring[MAXLEN_PAUSE];/* Added for dynamic pause */
  78. %
  79. %  } statusrec;
  80.  
  81.  
  82. That's all you have to do in VARDEC.H - save the file now.
  83.  
  84.  
  85. STEP 3:
  86.  
  87. Load up BBSUTL1.C.  Go to the very end of the file and block read in this
  88. function:
  89.  
  90.  
  91. void change_pausestring()
  92. /* This function added for PUNY02.MOD - the dynamic pause string. */
  93. {
  94.   char def[MAXLEN_PAUSE];
  95.  
  96.   strcpy(def,status.pausestring);
  97.   ansic(0);
  98.   npr("Current pause string - %s\r\n", status.pausestring);
  99.   npr("Enter the new pause string.. maximum %d characters:\r\n", MAXLEN_PAUSE);
  100.   npr("Remember that each time you change color it counts as two characters.");
  101.   npr("\r\n\r\n");
  102.   inli(status.pausestring, def, MAXLEN_PAUSE, 1);
  103.   nl();
  104.   npr("The new pausestring:  \r\n\r\n");
  105.   pausescr();
  106. }
  107.  
  108.  
  109.  
  110. Save BBSUTL1.C.
  111.  
  112.  
  113. STEP 4:
  114.  
  115. Load BBS.C.  Search for ""BOARDEDIT"".  Here's a listing of my code with the
  116. same key:
  117.  
  118.  
  119. %    if (so()) {
  120. %      if (strcmp(s,"BOARDEDIT")==0) {
  121. %        sysoplog("@ Ran Boardedit");
  122. %        boardedit();
  123. %      }
  124. +      if (strcmp(s,"PAUSEEDIT")==0) {  /* This code added with PUNY02.MOD */
  125. +        change_pausestring();
  126. +        sprintf(s,"@ Changed pause to [%s].", status.pausestring);
  127. +        sysoplog(s);
  128. +        strcpy(s,"PAUSEEDIT");
  129. +      }
  130. %      if (strcmp(s,"DIREDIT")==0) {
  131.  
  132.  
  133. Now search for "Log on?".  This will take you to the WFC case list.  Here's a
  134. list of my code (this case could be added anywhere in the case list):
  135.  
  136.  
  137. %            }
  138. %            break;
  139. +          case '%': /* or any other unused character */
  140. +            change_pausestring();  /* This code added with PUNY02.MOD */
  141. +            break;
  142. %          case ' ':
  143. %            outs("Log on? ");
  144. %            d=timer();
  145.  
  146.  
  147. That's it.  Save BBS.C.
  148.  
  149.  
  150. STEP 5:
  151.  
  152. Re-compile your BBS program, which has been improved 329182739%.  It will take
  153. a while to re-compile since VARDEC.H was modified; it will have to re-compile
  154. everything.  That's ok.. have a beer.
  155.  
  156.  
  157.  
  158. Standard disclaimer:   "It ain't mah fault."
  159.  
  160.  
  161. Enjoy the modification!  If you use any of my modifications, please take the
  162. time to send me some e-mail.  (If you're a WWIVnet type person, that is.)  My
  163. net address is 1 @2402.  Thanks very much.
  164.  
  165.  
  166. Puny
  167.  
  168.  
  169.  
  170. (This modification is dedicated to the new Red Hot Chili Peppers' album,
  171.  "BloodSugarSexMagik", a true masterpiece.)